SAGA: A DSL for Story Management
نویسندگان
چکیده
Video game development is currently a very labour-intensive endeavour. Furthermore it involves multi-disciplinary teams of artistic content creators and programmers, whose typical working patterns are not easily meshed. SAGA is our first effort at augmenting the productivity of such teams. Already convinced of the benefits of DSLs, we set out to analyze the domains present in games in order to find out which would be most amenable to the DSL approach. Based on previous work, we thus sought those sub-parts that already had a partially established vocabulary and at the same time could be well modeled using classical computer science structures. We settled on the ’story’ aspect of video games as the best candidate domain, which can be modeled using state transition systems. As we are working with a specific company as the ultimate customer for this work, an additional requirement was that our DSL should produce code that can be used within a pre-existing framework. We developed a full system (SAGA) comprised of a parser for a human-friendly language for ’story events’, an internal representation of design patterns for implementing object-oriented statetransitions systems, an instantiator for these patterns for a specific ’story’, and three renderers (for C++, C# and Java) for the instantiated abstract code.
منابع مشابه
Architecture as Language , Part 2 : Expressing Variability
This second part of the Architecture As Language series looks at implementing variability in the DSL. This open up the Architecture As Language approach as a foundation for product line architectures. We explain how to express positive and negative variability in the DSL and how integrate it with feature modeling. Like in the first paper, we look at the story, the concepts, and – in the last se...
متن کاملEvery Animation Should Have a Beginning, a Middle, and an End - A Case Study of Using a Functor-Based Animation Language
Animations are sequences of still images chained together to tell a story. Every story should have a beginning, a middle, and an end. We argue that this advice leads to a simple and useful idiom for creating an animation Domain Specific Language (DSL). We introduce our animation DSL, and show how it captures the concept of beginning, middle, and end inside a Haskell applicative functor we call ...
متن کاملThe Terri Schiavo saga: the making of a tragedy and lessons learned.
The recent case of Terri Schiavo has been an important medical, legal, and ethical controversy. However, much of the public discussion of the tragedy has been based on inaccurate information regarding the facts of the case and the actual legal and ethical issues involved. This article reviews the pertinent aspects of the case and the ethical and legal questions raised and highlights the lessons...
متن کاملReal characters in virtual stories Promoting interactive story-creation activities
Interactive experience in a virtual world. We take the line that children need to be both engaged in the action through role play and given the opportunity to reflect on the significance of their actions to understand something of their significance in terms of both the narrative and its ethical significance. This requires a system that incorporates the children’s actions into the unfolding plo...
متن کاملUnbundled Dsl Evolution (088)
Unbundling presumptions of DSL standards groups are reviewed and contrasted with their respective counterparts in cable broadband access. This comparison evaluates the ultimate DSL network architecture under those presumptions as fiber penetrates further into the existing loop plant. The results of the evaluation then raise questions as to the future emphasis and focus of advanced DSL spectrum ...
متن کامل